package com.cskaoyan.market.admin.service;

import java.util.List;

import com.cskaoyan.market.db.domain.*;

/**
 * 会员管理业务
 *
 * @author BlackFlame33
 * @date 2023/03/19
 **/
public interface MarketAdminUserService {
    /**
     * 此方法返回分页好的会员列表
     *
     * @param page 当前访问的页数
     * @param limit 此页面显示的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param username 查询的用户名
     * @param mobile 查询的手机号
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketUser>
     * @author BlackFlame33
     * @since 2023/03/19 13:14
     */
    List<MarketUser> getUserList(Integer page, Integer limit, String sort, String order, String username,
        String mobile);

    /**
     * 此方法返回分页好的收货地址列表
     *
     * @param page 当前访问的页数
     * @param limit 每页的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param name 查询的收货人
     * @param userId 用户 id
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketAddress>
     * @author BlackFlame33
     * @since 2023/03/19 14:09
     */
    List<MarketAddress> getAddressList(Integer page, Integer limit, String sort, String order, String name,
        Integer userId);

    /**
     * 此方法返回分页好的收藏列表
     *
     * @param page 当前访问的页数
     * @param limit 每页的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param userId 用户名
     * @param valueId 根据收藏的类型，所对应的数据的 id
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketCollect>
     * @author BlackFlame33
     * @since 2023/03/19 14:24
     */
    List<MarketCollect> getCollectList(Integer page, Integer limit, String sort, String order, int userId, int valueId);

    /**
     * 此方法返回分页好的会员足迹列表
     *
     * @param page 当前访问的页数
     * @param limit 每页的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param userId 用户 id
     * @param goodsId 商品 id
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketFootprint>
     * @author BlackFlame33
     * @since 2023/03/19 16:52
     */
    List<MarketFootprint> getFootprintList(Integer page, Integer limit, String sort, String order, int userId,
        int goodsId);

    /**
     * 此方法返回分页好的会员历史记录
     *
     * @param page 当前访问的页数
     * @param limit 每页的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param userId 用户 id
     * @param keyword 关键字
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketSearchHistory>
     * @author BlackFlame33
     * @since 2023/03/19 17:56
     */
    List<MarketSearchHistory> getHistoryList(Integer page, Integer limit, String sort, String order, int userId,
        String keyword);

    /**
     * 此方法返回分页好的会员反馈列表
     *
     * @param page 当前访问的页数
     * @param limit 每页的数据个数
     * @param sort 以何种字段排序
     * @param order 升序或降序
     * @param username 用户名
     * @param id 反馈 id
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketFeedback>
     * @author BlackFlame33
     * @since 2023/03/19 20:16
     */
    List<MarketFeedback> getFeedbackList(Integer page, Integer limit, String sort, String order, String username,
        int id);
}